Many businesses today are capitalizing on the marketing potential of the quickly expanding Internet by providing web sites that are accessible to users on the Internet. Most of these businesses, however, do not have the funding, expertise or desire to purchase required hardware and software and to set-up and maintain these web sites. These businesses typically turn to companies, such as Internet Service Providers (ISPs), that provide hosting capabilities along with the required technical expertise and equipment to host the business' applications, i.e., software used to run a web site.
The maintaining or running of a web site may commonly be referred to as web site hosting. Web site hosting may be provided by a server or a group of servers within a server farm (large grouping of interconnected servers) to host web sites that provide the particular service of a web site owner. Most businesses utilize the ISP to provide and support their specific Internet applications on a server, which is owned by the ISP. The applications are typically stored on a CD-ROM and manually installed on the server by ISP personnel.
A server farm may be connected to the Internet where one or more of the servers in the server farm each host a business application. A user may access the Internet through a computer commonly referred to as a client. The client may be coupled to the Internet which may be utilized by a user to access the Internet and browse or interact with the application hosted by one or more of the servers in the server farm.
ISPs typically provide a separate server or group of servers for each business application hosted. Multiple servers (or server groups) with different applications are controlled by an ISP and make up the server farm which is “plugged” into the Internet. Each server, including its affiliated software and applications, may be extremely costly to acquire, and thus, ISPs seek to provide efficient utilization of the limited number of available servers.
Each server may comprise a hard disk drive commonly referred to as a “hardfile.” The hardfile may be divided into a finite number of logical partitions. The hardfile may be constrained to activate only a limited number of logical partitions, e.g., four partitions. A collection of the limited number of partitions that may be activated, e.g., four partitions, may be referred to as an image. Each image may be associated with a particular web site. For example, one logical partition of the image may store the operating system to coordinate the server and set the standards for a particular business application running on the server. Another logical partition may store the particular business application to operate a particular web site. Another logical partition may store the data collected from that particular web site.
Occasionally, a server hosting a particular web site may be desired to be (temporarily) hosting a different particular web site. This may be due to an inadequate number of servers handling client requests to access and/or interact with an application supported by the server or group of servers. When the web site that a server hosts is changed, i.e., when a server is added to host a particular web site that is hosted by another server or group of servers, the current image activated on that server may have to be deactivated and stored in a storage medium, whether internally or remotely, thereby utilizing network bandwidth. The new image associated with the new web site may then have to be stored onto the hardfile of the server. The server may then be reconfigured and rebooted with the new image. The steps of copying the old image and installing the new image may result in a significant time loss and may also result in the server being temporarily unavailable to users desiring to connect to the server. Furthermore, the steps of copying the old image and installing the new image may result in limiting access to the other interconnected servers in the server farm due to network bandwidth utilization.
It would therefore be desirable to efficiently handle client requests in a server farm by substituting images associated with web sites in a server in the server farm in a timely manner with limited use of bandwidth.